home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / ifxlite / imagefx3 / rexx / autofx / eot_perspective.ifx < prev    next >
Text File  |  2004-08-03  |  981b  |  44 lines

  1. /*
  2.  * EOT_Perspective.ifx
  3.  * Written by Thomas Krehbiel
  4.  *
  5.  * 3D Perspective Rotate.
  6.  *
  7.  * Inputs:
  8.  *    Word(Arg(1),1) = Frame number (1 - N)
  9.  *    Word(Arg(1),2) = Main filename ("-" if not specified)
  10.  *    Word(Arg(1),3) = Swap filename ("-" if not specified)
  11.  *    Word(Arg(1),4) = Sequence number (?)
  12.  *    Word(Arg(1),5) = Total number of frames (N)
  13.  *
  14.  * Returns:
  15.  *    0 if successful, non-zero on failure
  16.  *
  17.  */
  18.  
  19. OPTIONS RESULTS
  20.  
  21. framenum = Word(Arg(1),1)
  22. mainname = Word(Arg(1),2)
  23. swapname = Word(Arg(1),3)
  24. seqnum   = Word(Arg(1),4)
  25. framemax = Word(Arg(1),5)
  26.  
  27. base  = 'Autofx_Perspective_'
  28.  
  29. x1    = GETCLIP(base||'x1')
  30. y1    = GETCLIP(base||'y1')
  31. z1    = GETCLIP(base||'z1')
  32. x2    = GETCLIP(base||'x2')
  33. y2    = GETCLIP(base||'y2')
  34. z2    = GETCLIP(base||'z2')
  35.  
  36. /* linear interpolation */
  37. x = x1 + ((x2 - x1 + 1) * framenum % framemax)
  38. y = y1 + ((y2 - y1 + 1) * framenum % framemax)
  39. z = z1 + ((z2 - z1 + 1) * framenum % framemax)
  40.  
  41. Hook Perspective x y z AntiAlias
  42.  
  43. EXIT rc
  44.